/**
 * Project: cmbank-dao
 * 
 * File Created at Oct 21, 2011
 * $Id$
 * 
 * Copyright 2008 6677bank.com Croporation Limited.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * 6677bank Company. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with 6677bank.com.
 */
package com.bank6677.sync.csm.domain;

import java.util.Date;

/**
 * 投诉
 * 
 * @author liyue
 * @version Complaint.java Oct 21, 2011 5:00:29 PM
 */
public class Complaint extends Order {
    private Long    complaintId;      //投诉ID

    private String  customName;       //客户姓名

    private String  customPhone;      //联系电话

    private Integer userId;           //用户ID

    private Integer complaintType;    //投诉类型

    private String  complaintTitle;   //投诉主题

    private Integer complaintPersonId; //投诉对象ID

    private String  complaintContent; //投诉类容

    private String  status;           //投诉状态(结果) 1未处理，2处理中，3处理完成

    private String  urgentLevel;      //紧急程度 1非常紧急，2紧急，3普通

    private String  returnVisit;      //回访确认

    private String  customFeedback;   //客户反馈信息

    private String  remark;           //备注

    private Integer operator;         //受理人ID

    private Date    createDt;         //投诉时间

    private Date    updateDt;         //最近处理时间



    /**
     * @return the complaintId
     */
    public Long getComplaintId() {
        return complaintId;
    }

    /**
     * @param complaintId the complaintId to set
     */
    public void setComplaintId(Long complaintId) {
        this.complaintId = complaintId;
    }

    /**
     * @return the customName
     */
    public String getCustomName() {
        return customName;
    }

    /**
     * @param customName the customName to set
     */
    public void setCustomName(String customName) {
        this.customName = customName;
    }

    /**
     * @return the customPhone
     */
    public String getCustomPhone() {
        return customPhone;
    }

    /**
     * @param customPhone the customPhone to set
     */
    public void setCustomPhone(String customPhone) {
        this.customPhone = customPhone;
    }

    /**
     * @return the userId
     */
    public Integer getUserId() {
        return userId;
    }

    /**
     * @param userId the userId to set
     */
    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    /**
     * @return the complaintType
     */
    public Integer getComplaintType() {
        return complaintType;
    }

    /**
     * @param complaintType the complaintType to set
     */
    public void setComplaintType(Integer complaintType) {
        this.complaintType = complaintType;
    }

    /**
     * @return the complaintTitle
     */
    public String getComplaintTitle() {
        return complaintTitle;
    }

    /**
     * @param complaintTitle the complaintTitle to set
     */
    public void setComplaintTitle(String complaintTitle) {
        this.complaintTitle = complaintTitle;
    }

    /**
     * @return the complaintPersonId
     */
    public Integer getComplaintPersonId() {
        return complaintPersonId;
    }

    /**
     * @param complaintPersonId the complaintPersonId to set
     */
    public void setComplaintPersonId(Integer complaintPersonId) {
        this.complaintPersonId = complaintPersonId;
    }

    /**
     * @return the complaintContent
     */
    public String getComplaintContent() {
        return complaintContent;
    }

    /**
     * @param complaintContent the complaintContent to set
     */
    public void setComplaintContent(String complaintContent) {
        this.complaintContent = complaintContent;
    }

    /**
     * @return the status
     */
    public String getStatus() {
        return status;
    }

    /**
     * @param status the status to set
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * @return the urgentLevel
     */
    public String getUrgentLevel() {
        return urgentLevel;
    }

    /**
     * @param urgentLevel the urgentLevel to set
     */
    public void setUrgentLevel(String urgentLevel) {
        this.urgentLevel = urgentLevel;
    }

    /**
     * @return the returnVisit
     */
    public String getReturnVisit() {
        return returnVisit;
    }

    /**
     * @param returnVisit the returnVisit to set
     */
    public void setReturnVisit(String returnVisit) {
        this.returnVisit = returnVisit;
    }

    /**
     * @return the customFeedback
     */
    public String getCustomFeedback() {
        return customFeedback;
    }

    /**
     * @param customFeedback the customFeedback to set
     */
    public void setCustomFeedback(String customFeedback) {
        this.customFeedback = customFeedback;
    }

    /**
     * @return the remark
     */
    public String getRemark() {
        return remark;
    }

    /**
     * @param remark the remark to set
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * @return the operator
     */
    public Integer getOperator() {
        return operator;
    }

    /**
     * @param operator the operator to set
     */
    public void setOperator(Integer operator) {
        this.operator = operator;
    }

    /**
     * @return the createDt
     */
    public Date getCreateDt() {
        return createDt;
    }

    /**
     * @param createDt the createDt to set
     */
    public void setCreateDt(Date createDt) {
        this.createDt = createDt;
    }

    /**
     * @return the updateDt
     */
    public Date getUpdateDt() {
        return updateDt;
    }

    /**
     * @param updateDt the updateDt to set
     */
    public void setUpdateDt(Date updateDt) {
        this.updateDt = updateDt;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#hashCode()
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((complaintContent == null) ? 0 : complaintContent.hashCode());
        result = prime * result + ((complaintId == null) ? 0 : complaintId.hashCode());
        result = prime * result + ((complaintPersonId == null) ? 0 : complaintPersonId.hashCode());
        result = prime * result + ((complaintTitle == null) ? 0 : complaintTitle.hashCode());
        result = prime * result + ((complaintType == null) ? 0 : complaintType.hashCode());
        result = prime * result + ((createDt == null) ? 0 : createDt.hashCode());
        result = prime * result + ((customFeedback == null) ? 0 : customFeedback.hashCode());
        result = prime * result + ((customName == null) ? 0 : customName.hashCode());
        result = prime * result + ((customPhone == null) ? 0 : customPhone.hashCode());
        result = prime * result + ((operator == null) ? 0 : operator.hashCode());
        result = prime * result + ((remark == null) ? 0 : remark.hashCode());
        result = prime * result + ((returnVisit == null) ? 0 : returnVisit.hashCode());
        result = prime * result + ((status == null) ? 0 : status.hashCode());
        result = prime * result + ((updateDt == null) ? 0 : updateDt.hashCode());
        result = prime * result + ((urgentLevel == null) ? 0 : urgentLevel.hashCode());
        result = prime * result + ((userId == null) ? 0 : userId.hashCode());
        return result;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#equals(java.lang.Object)
     */
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Complaint other = (Complaint) obj;
        if (complaintContent == null) {
            if (other.complaintContent != null)
                return false;
        } else if (!complaintContent.equals(other.complaintContent))
            return false;
        if (complaintId == null) {
            if (other.complaintId != null)
                return false;
        } else if (!complaintId.equals(other.complaintId))
            return false;
        if (complaintPersonId == null) {
            if (other.complaintPersonId != null)
                return false;
        } else if (!complaintPersonId.equals(other.complaintPersonId))
            return false;
        if (complaintTitle == null) {
            if (other.complaintTitle != null)
                return false;
        } else if (!complaintTitle.equals(other.complaintTitle))
            return false;
        if (complaintType == null) {
            if (other.complaintType != null)
                return false;
        } else if (!complaintType.equals(other.complaintType))
            return false;
        if (createDt == null) {
            if (other.createDt != null)
                return false;
        } else if (!createDt.equals(other.createDt))
            return false;
        if (customFeedback == null) {
            if (other.customFeedback != null)
                return false;
        } else if (!customFeedback.equals(other.customFeedback))
            return false;
        if (customName == null) {
            if (other.customName != null)
                return false;
        } else if (!customName.equals(other.customName))
            return false;
        if (customPhone == null) {
            if (other.customPhone != null)
                return false;
        } else if (!customPhone.equals(other.customPhone))
            return false;
        if (operator == null) {
            if (other.operator != null)
                return false;
        } else if (!operator.equals(other.operator))
            return false;
        if (remark == null) {
            if (other.remark != null)
                return false;
        } else if (!remark.equals(other.remark))
            return false;
        if (returnVisit == null) {
            if (other.returnVisit != null)
                return false;
        } else if (!returnVisit.equals(other.returnVisit))
            return false;
        if (status == null) {
            if (other.status != null)
                return false;
        } else if (!status.equals(other.status))
            return false;
        if (updateDt == null) {
            if (other.updateDt != null)
                return false;
        } else if (!updateDt.equals(other.updateDt))
            return false;
        if (urgentLevel == null) {
            if (other.urgentLevel != null)
                return false;
        } else if (!urgentLevel.equals(other.urgentLevel))
            return false;
        if (userId == null) {
            if (other.userId != null)
                return false;
        } else if (!userId.equals(other.userId))
            return false;
        return true;
    }

}
